﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System;

namespace EasyLift.TMS.Web.Models
{
    [MetadataType(typeof(VehicleMetaData))]
    public partial class Vehicle
    {
        public class VehicleMetaData
        {
            [DisplayName("Vehicle Number")]
            [Required(ErrorMessage = "Vehicle Number is required")]
            public object VehicleNumber { get; set; }

            [DisplayName("Door Number")]
            [Required(ErrorMessage = "Door No is required")]            
            public object DoorNo { get; set; }

            [DisplayName("License Plate Number")]
            public object LicensePlateNumber { get; set; }

            [DisplayName("VIN (Vehicle Identification Number)")]
            public object VIN { get; set; }

            [DisplayName("Master List No")]
            public object MasterListNo { get; set; }

            [DisplayName("Company")]
            public object CompanyCode { get; set; }

            [DisplayName("Body Type")]
            public object BodyType { get; set; }

            [DisplayName("Make")]
            public object Make { get; set; }

            [DisplayName("Model")]
            public object Model { get; set; }

            [DisplayName("Year")]
            public object Year { get; set; }

            [DisplayName("Color")]
            public object Color { get; set; }

            [DisplayName("Insurance Company")]
            public object InsuranceCompany { get; set; }

            [DisplayName("Insurance Expiry Date")]
            public object InsuranceExpiryDate { get; set; }

            [DisplayName("Registration Expiry Date")]
            public object RegistrationExpiryDate { get; set; }

            [DisplayName("Apps Given Date")]
            public object AppsGivenDate { get; set; }

            [DisplayName("ASG Pass Issue Date")]
            public object ASGPassIssueDate { get; set; }

            [DisplayName("ASG Pass Expiry Date")]
            public object ASGPassExpiryDate { get; set; }

            [DisplayName("Trailor No")]
            public object TrailorNo { get; set; }

            [DisplayName("Km In")]
            [Range( 0, int.MaxValue, ErrorMessage="Please enter a numaric value" )]
            public object KmIn { get; set; }

            [DisplayName("Km Out")]
            [Range(0, int.MaxValue, ErrorMessage = "Please enter a numaric value")]
            public object KmOut { get; set; }

            [DisplayName("Spod Number")]
            public object SpodNumber { get; set; }

            [DisplayName("Spod Expiry Date")]
            public object SpodExpiryDate { get; set; }

            [DisplayName("J2 Expiry Date")]
            public object J2ExpiryDate { get; set; }

            [DisplayName("Remark 1")]
            public object Remark1 { get; set; }

            [DisplayName("Remark 2")]
            public object Remark2 { get; set; }

            [DisplayName("Remark 3")]
            public object Remark3 { get; set; }

            [DisplayName("Remark 4")]
            public object Remark4 { get; set; }

            [DisplayName("Remark 5")]
            public object Remark5 { get; set; }

            [DisplayName("Remark 6")]
            public object Remark6 { get; set; }

            [DisplayName("Driver Assigned")]
            public object DriverAssigned { get; set; }
            
            [DisplayName("Vehicle Mission Status")]
            public object VehicleMissionStatusCode { get; set; }

            [DisplayName("Vehicle QC Status")]
            public object VehicleQCStatusCode { get; set; }
        }

    }


}